In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import panel as pn
pn.extension()

from panel.interact import interact

import holoviews as hv
import hvplot.pandas

pd.options.plotting.backend = 'holoviews'

df = pd.read_csv("D:/Sync/Profissional/Análise de Dados/Conjunto de Dados/building-data-genome-project-2/data/weather/weather.csv", index_col='timestamp', parse_dates=True)
In [7]:
df[df['site_id']=='Panther']['airTemperature'].plot(figsize=(16, 12))
Out[7]:
In [18]:
selector = pn.widgets.Select(name='Select', options=sites_list)

def get_df(site_id):
    return idf.hvplot(x='timestamp', y=site_id, width=900, height=500)
            
interact(get_df, site_id=selector)
Out[18]:
In [26]:
selector = pn.widgets.CheckBoxGroup(name='Select', value=['Panther', 'Wolf'], options=sites_list)
slider = pn.widgets.DateRangeSlider(name = 'Data', start=start_date, end=end_date)

def get_df(date_range, site_id):
    start = slider.value[0]
    end = slider.value[1]
    mask = (idf['timestamp'] > start) & (idf['timestamp'] <= end)
    df = idf.loc[mask].hvplot(x='timestamp', y=site_id, width=900, height=500) # Adiciona o seletor de cidade no PLOT!
    return df


layout = interact(get_df, date_range=slider, site_id=selector)
panel = pn.Row(
    pn.Column(
        pn.pane.Markdown('### Cidades'),
        layout[0][1],
        width=150),
    pn.Column(
        pn.Row(
            layout[0][0],
            width=400,
            margin=(-5, 0, 0, 25)
        ),
        layout[1],
    ),
    width=900,
    margin=(25, 0, 0, 10))

panel
Out[26]: